package com.gjx.leetcode;

//82. 删除排序链表中的重复元素 II
//
//给定一个排序链表，删除所有含有重复数字的节点，只保留原始链表中 没有重复出现 的数字。
//
//示例 1:
//
//输入: 1->2->3->3->4->4->5
//输出: 1->2->5
//示例 2:
//
//输入: 1->1->1->2->3
//输出: 2->3



public class Solution082 {
	public ListNode deleteDuplicates(ListNode head) {
        if (head == null) {
        	return head;
        }
        
        ListNode dummy = new ListNode(0);
        dummy.next = head;
        
        ListNode pre = dummy;
        ListNode cur = head;
        
        while (cur.next != null) {

        	if (cur.next.val == pre.next.val) {
        		cur = cur.next;
        	} else {
        		if (cur == pre.next) {
        			pre = cur;
        			cur = cur.next;
        		} else {
        			pre.next = cur.next;
        			cur = cur.next;
        		}
        	}
        }
        
        if (cur == pre.next) {
        	return dummy.next;
        } else {
        	pre.next = null;
        	return dummy.next;
        }
        
        
    }
}
